home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -screenplay- / hd_installers / whdidemos / oxygene_control.lha / Control-HD / Install next >
Text File  |  1993-01-11  |  4KB  |  184 lines

  1. ;----------------------------
  2. ; BJ (20.06.96)(05.09.96)
  3. ; tabsize=4
  4. ;----------------------------
  5. ;****************************
  6.  
  7. (set #readme-file "README") ;name of readme file
  8. (set #CI_drive "DF0:")    ;default source drive
  9. (set #cleanup "")     ;files to delete after install
  10. (set #last-disk 2)      ;amount of disks
  11.  
  12. ;****************************
  13. ;----------------------------
  14. ; Checks if given program is reachable via the path
  15. ; parameters:
  16. ;   #program    - to check
  17. ; result:
  18. ;   #instok     - 0 if not found
  19.  
  20. (procedure P_chkinst
  21.   (if
  22.     (= 0 (run ("cd SYS:\nWhich %s" #program)))
  23.     (set #instok 1)
  24.     (set #instok 0)
  25.   )
  26. )
  27.  
  28. ;----------------------------
  29. ; Checks if given program is reachable via the path
  30. ;  if not reachable tries to install from local to RAM:
  31. ;   if fails abort install
  32. ; parameters:
  33. ;   #program    - to check
  34.  
  35. (procedure P_chkrun
  36.   (P_chkinst)
  37.   (if
  38.     (= #instok 0)
  39.     (
  40.       (if
  41.         (exists #program)
  42.         (copyfiles
  43.           (help @copyfiles-help)
  44.           (source #program)
  45.           (dest "RAM:")   ;should always be in the path
  46.         )
  47.         (if
  48.           (exists ("//c/%s" #program))    ;on installation package
  49.           (copyfiles
  50.             (help @copyfiles-help)
  51.             (source ("//c/%s" #program))
  52.             (dest "RAM:")   ;should always be in the path
  53.           )
  54.           (abort ("You must install %s first !" #program))
  55.         )
  56.       )
  57.       (set #cleanup ("RAM:%s %s" #program #cleanup))
  58.     )
  59.   )
  60. )
  61.  
  62. ;----------------------------
  63. ; Create disk-Image
  64. ; parameters:
  65. ;   #dest     - DestinationPath
  66. ;   #CI_diskname  - DiskName
  67. ;   #CI_diskno    - DiskNumber
  68. ;   #CI_drive   - DriveToReadFrom
  69.  
  70. (procedure P_image
  71.   (message ("\nInsert \"%s\" into drive %s !\n\n(make sure it is the right disk because it will not be checked)" #CI_diskname #CI_drive))
  72.   (if
  73.     (= 0 (run ("cd \"%s\"\npath RAM: ADD\nDIC %s FD=%ld LD=%ld >con:///1000//CLOSE" #dest #CI_drive #CI_diskno #CI_diskno)))
  74.     ("")
  75.     (abort "\"DIC\" has failed to create this diskimage")
  76.   )
  77. )
  78.  
  79. ;****************************
  80.  
  81. ; check if WHDLoad is installed
  82. (set #program "WHDLoad")
  83. (P_chkinst)
  84. (if
  85.   (= #instok 0)
  86.   (abort "You must install WHDLoad first !")
  87. )
  88.  
  89. ; check if DIC is installed
  90. (set #program "DIC")
  91. (P_chkrun)
  92.  
  93. ; in expert mode ask for source drive
  94. (if
  95.   (= @user-level 2)
  96.   (set #CI_drive
  97.     (askstring
  98.       (prompt "Select source drive for diskimage(s)")
  99.       (default #CI_drive)
  100.       (help @askstring-help)
  101.     )
  102.   )
  103. )
  104.  
  105. (set @default-dest
  106. (askdir
  107.   (prompt ("Where should \"%s\" be installed ?\nA drawer named \"%s\" will automatically be created." @app-name @app-name))
  108.   (help @askdir-help)
  109.   (default @default-dest)
  110.   (disk)
  111. )
  112. )
  113.  
  114. (set #dest (tackon @default-dest @app-name))
  115.  
  116. ;if anything similar exist delete it
  117. (if
  118.   (exists #dest)
  119.   (run ("Delete %s %s.info all" #dest #dest))
  120. )
  121.  
  122. (makedir #dest
  123.   (help @makedir-help)
  124.   (infos)
  125. )
  126.  
  127. ;----------------------------
  128.  
  129. (copyfiles
  130.   (help @copyfiles-help)
  131.   (source ("%s.slave" @app-name))
  132.   (dest #dest)
  133. )
  134.  
  135. (copyfiles
  136.   (help @copyfiles-help)
  137.   (source ("%s.inf" @app-name ))
  138.   (newname ("%s.info" @app-name ))
  139.   (dest #dest)
  140. )
  141.  
  142. (if
  143.   (exists #readme-file)
  144.   (copyfiles
  145.     (help @copyfiles-help)
  146.     (source #readme-file)
  147.     (dest #dest)
  148.   )
  149. )
  150.  
  151. (if
  152.   (exists #readme-file)
  153.   (copyfiles
  154.     (source ("%s.inf" #readme-file))
  155.     (newname ("%s.info" #readme-file))
  156.     (dest #dest)
  157.   )
  158. )
  159.  
  160. (set #CI_diskno 1)
  161. (while
  162.   (<= #CI_diskno #last-disk)
  163.   (
  164.     (set #CI_diskname ("%s Disk %ld" @app-name #CI_diskno))
  165.     (P_image)
  166.     (set #CI_diskno (+ #CI_diskno 1))
  167.   )
  168. )
  169.  
  170. ;----------------------------
  171.  
  172. (run ("Delete %s ALL QUIET FORCE" #cleanup))    ;delete all temporary files
  173.  
  174. (if
  175.   (exists #readme-file)
  176.   (if 
  177.     (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  178.     ("")
  179.     (run ("SYS:Utilities/More %s" #readme-file))
  180.   )
  181. )
  182.  
  183. (exit)
  184.